A port serves as an interface between two devices and allows communication between two processing systems, or two sub-modules included in a processing system. In general, a port may be used to input or output data from a chip. Alternatively a port may be used to concurrently output and input data into a processing system. A port may be digital or analog according to the type of data transferred.
Graphics systems are examples of processing systems that receive data from external processors, application-specific integrated circuits (ASICs), acquisition devices and others through an input port. Other graphics systems use an output port to output data to external processors, ASICs, display devices (such as monitors, display walls, etc), and others. Yet other graphics systems may include internal ports used to communicate between their sub-modules.
Each manufacturer has a different format and protocol to output or input data. The term “protocol” is very generic and is used for many different communication methods. A protocol may define the packet structure of the data transmitted, the control commands that manage the session, or both. As an example, protocols may differ from each other by the number of pins included in the port used to transfer data, the clock rate at which data is transferred, the data output format, the output rate and mode, and the number of streams that a port may transfer. One of the standards used in the industry is a 12 pin interface using double data rate (DDR), which uses both clock edges to transfer 24 bits of data on 12 pins. An alternative interface is a 24 pin interface using single data rate (SDR), thus using only the rising clock edge to transfer 24 bits of data on 24 pins.
There is a need for a port that can be configurable to support a variable number of data streams transferred and which may support a plurality of existing input/output protocols.